home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / AMIGA / AMICUS / AMICUS26.ADF / SoundScape / AztecLib / sslink.asm < prev    next >
Assembly Source File  |  1989-01-26  |  6KB  |  380 lines

  1. *    SSLINK.ASM    SoundScape library link routines. 
  2.  
  3. *    (c) 1986 Todor Fay 
  4.  
  5.  
  6.     GLOBAL    _SoundScapeBase,4
  7.  
  8.     PUBLIC    __Dorg
  9.     PUBLIC    _AllocNode 
  10.     PUBLIC    _FastAlloc 
  11.     PUBLIC    _FreeNode 
  12.     PUBLIC    _FreeList 
  13.     PUBLIC    _FreeTree 
  14.     PUBLIC    _ReleaseMem 
  15.     PUBLIC    _WriteList 
  16.     PUBLIC    _ReadList 
  17.     PUBLIC    _AddMidiPort 
  18.     PUBLIC    _OpenMidiPort 
  19.     PUBLIC    _CloseMidiPort 
  20.     PUBLIC    _EditMidiPort 
  21.     PUBLIC    _OutMidiPort 
  22.     PUBLIC    _Send 
  23.     PUBLIC    _OpenLink 
  24.     PUBLIC    _CloseLink 
  25.     PUBLIC    _GetHelp 
  26.     PUBLIC    _RemoveMidiPort 
  27.     PUBLIC    _FunctionCall 
  28.     PUBLIC    _ReadFileName 
  29.     PUBLIC    _WriteFileName 
  30.     PUBLIC    _FindMidiPort 
  31.     PUBLIC    _MidiPortName 
  32.     PUBLIC    _MidiPortBase 
  33.  
  34. _LVOmusalloc    EQU    -36 
  35. _LVOmusfastalloc EQU    -42 
  36. _LVOmusfree    EQU    -48 
  37. _LVOmusfreelist    EQU    -54 
  38. _LVOmusfreetree    EQU    -60 
  39. _LVOreleasemem    EQU    -66 
  40. _LVOwritelist    EQU    -72 
  41. _LVOreadlist    EQU    -78 
  42. _LVOaddport    EQU    -84 
  43. _LVOopenport    EQU    -90 
  44. _LVOcloseport    EQU    -96 
  45. _LVOeditport    EQU    -102 
  46. _LVOoutport    EQU    -108 
  47. _LVOsendpackets    EQU    -114 
  48. _LVOopenlink    EQU    -120 
  49. _LVOcloselink    EQU    -126 
  50. _LVOgethelp    EQU    -132 
  51. _LVOremoveport    EQU    -138 
  52. _LVOfunctcall    EQU    -144 
  53. _LVOreadname    EQU    -150 
  54. _LVOwritename    EQU    -156 
  55. _LVOfindport    EQU    -162 
  56. _LVOportname    EQU    -168 
  57. _LVOportbase    EQU    -174 
  58.  
  59. _MidiPortBase 
  60.     LINK    A6,#0000 
  61.     MOVE.L    8(A6),D0 
  62.     MOVE.L    A6,-(SP) 
  63.     MOVE.L    _SoundScapeBase,A6 
  64.     JSR    _LVOportbase(A6) 
  65.     MOVE.L    (SP)+,A6 
  66.     UNLK    A6 
  67.     RTS 
  68.  
  69. _AllocNode 
  70.     LINK    A6,#0000 
  71.     MOVE.L    8(A6),D0 
  72.     MOVE.L    A6,-(SP) 
  73.     MOVE.L    _SoundScapeBase,A6 
  74.     JSR    _LVOmusalloc(A6) 
  75.     MOVE.L    (SP)+,A6 
  76.     UNLK    A6 
  77.     RTS 
  78.  
  79. _FastAlloc 
  80.     LINK    A6,#0000 
  81.     MOVE.L    8(A6),D0 
  82.     MOVE.L    A6,-(SP) 
  83.     MOVE.L    _SoundScapeBase,A6 
  84.     JSR    _LVOmusfastalloc(A6) 
  85.     MOVE.L    (SP)+,A6 
  86.     UNLK    A6 
  87.     RTS 
  88.  
  89. _FreeNode 
  90.     LINK    A6,#0000 
  91.     MOVE.L    8(A6),D0 
  92.     MOVE.L    A6,-(SP) 
  93.     MOVE.L    _SoundScapeBase,A6 
  94.     JSR    _LVOmusfree(A6) 
  95.     MOVE.L    (SP)+,A6 
  96.     UNLK    A6 
  97.     RTS 
  98.  
  99. _FreeList 
  100.     LINK    A6,#0000 
  101.     MOVE.L    8(A6),D0 
  102.     MOVE.L    A6,-(SP) 
  103.     MOVE.L    _SoundScapeBase,A6 
  104.     JSR    _LVOmusfreelist(A6) 
  105.     MOVE.L    (SP)+,A6 
  106.     UNLK    A6 
  107.     RTS 
  108.  
  109. _FreeTree 
  110.     LINK    A6,#0000 
  111.     MOVE.L    8(A6),D0 
  112.     MOVE.L    A6,-(SP) 
  113.     MOVE.L    _SoundScapeBase,A6 
  114.     JSR    _LVOmusfreetree(A6) 
  115.     MOVE.L    (SP)+,A6 
  116.     UNLK    A6 
  117.     RTS 
  118.  
  119. _ReleaseMem 
  120.     LINK    A6,#0000 
  121.     MOVE.L    8(A6),D0 
  122.     MOVE.L    A6,-(SP) 
  123.     MOVE.L    _SoundScapeBase,A6 
  124.     JSR    _LVOreleasemem(A6) 
  125.     MOVE.L    (SP)+,A6 
  126.     UNLK    A6 
  127.     RTS 
  128. _WriteList 
  129.     LINK    A6,#0000 
  130.     MOVE.L    8(A6),D0 
  131.     MOVE.L    A6,-(SP) 
  132.     MOVE.L    D1,-(SP) 
  133.     MOVE.L    12(A6),D1 
  134.     MOVE.L    _SoundScapeBase,A6 
  135.     JSR    _LVOwritelist(A6) 
  136.     MOVE.L    (SP)+,D1 
  137.     MOVE.L    (SP)+,A6 
  138.     UNLK    A6 
  139.     move.l    #__Dorg,a4
  140.     add.l    #32766,a4
  141.     RTS 
  142.  
  143. _ReadList 
  144.     LINK    A6,#0000 
  145.     MOVE.L    8(A6),D0 
  146.     MOVE.L    A6,-(SP) 
  147.     MOVE.L    D1,-(SP) 
  148.     MOVE.L    12(A6),D1 
  149.     MOVE.L    _SoundScapeBase,A6 
  150.     JSR    _LVOreadlist(A6) 
  151.     MOVE.L    (SP)+,D1 
  152.     MOVE.L    (SP)+,A6 
  153.     UNLK    A6 
  154.     move.l    #__Dorg,a4
  155.     add.l    #32766,a4
  156.     RTS 
  157.  
  158. _AddMidiPort 
  159.     LINK    A6,#0000 
  160.     MOVEM.L    D1-D7/A6,-(SP) 
  161.     MOVE.L    8(A6),D7 
  162.     MOVE.L    12(A6),D6 
  163.     MOVE.L    16(A6),D5 
  164.     MOVE.L    20(A6),D4 
  165.     MOVE.L    24(A6),D3 
  166.     MOVE.L    28(A6),D2 
  167.     MOVE.L    32(A6),D1 
  168.     MOVE.L    36(A6),D0 
  169.     MOVE.L    _SoundScapeBase,A6 
  170.     JSR    _LVOaddport(A6) 
  171.     MOVEM.L    (SP)+,D1-D7/A6 
  172.     UNLK    A6 
  173.     move.l    #__Dorg,a4
  174.     add.l    #32766,a4
  175.     RTS 
  176.  
  177. _OpenMidiPort 
  178.     LINK    A6,#0000 
  179.     MOVE.L    8(A6),D0 
  180.     MOVE.L    A6,-(SP) 
  181.     MOVE.L    D1,-(SP) 
  182.     MOVE.L    12(A6),D1 
  183.     MOVE.L    _SoundScapeBase,A6 
  184.     JSR    _LVOopenport(A6) 
  185.     MOVE.L    (SP)+,D1 
  186.     MOVE.L    (SP)+,A6 
  187.     UNLK    A6 
  188.     move.l    #__Dorg,a4
  189.     add.l    #32766,a4
  190.     RTS 
  191.  
  192. _CloseMidiPort 
  193.     LINK    A6,#0000 
  194.     MOVE.L    8(A6),D0 
  195.     MOVE.L    A6,-(SP) 
  196.     MOVE.L    D1,-(SP) 
  197.     MOVE.L    12(A6),D1 
  198.     MOVE.L    _SoundScapeBase,A6 
  199.     JSR    _LVOcloseport(A6) 
  200.     MOVE.L    (SP)+,D1 
  201.     MOVE.L    (SP)+,A6 
  202.     UNLK    A6 
  203.     move.l    #__Dorg,a4
  204.     add.l    #32766,a4
  205.     RTS 
  206.  
  207. _EditMidiPort 
  208.     LINK    A6,#0000 
  209.     MOVE.L    8(A6),D0 
  210.     MOVEM.L    D1-D3/A6,-(SP) 
  211.     MOVE.L    12(A6),D1 
  212.     MOVE.L    16(A6),D2 
  213.     MOVE.L    20(A6),D3 
  214.     MOVE.L    _SoundScapeBase,A6 
  215.     JSR    _LVOeditport(A6) 
  216.     MOVEM.L    (SP)+,D1-D3/A6 
  217.     UNLK    A6 
  218.     move.l    #__Dorg,a4
  219.     add.l    #32766,a4
  220.     RTS 
  221.  
  222. _OutMidiPort 
  223.     LINK    A6,#0000 
  224.     MOVE.L    8(A6),D0 
  225.     MOVE.L    A6,-(SP) 
  226.     MOVE.L    D1,-(SP) 
  227.     MOVE.L    12(A6),D1 
  228.     MOVE.L    _SoundScapeBase,A6 
  229.     JSR    _LVOoutport(A6) 
  230.     MOVE.L    (SP)+,D1 
  231.     MOVE.L    (SP)+,A6 
  232.     UNLK    A6 
  233.     move.l    #__Dorg,a4
  234.     add.l    #32766,a4
  235.     RTS 
  236.  
  237. _Send 
  238.     LINK    A6,#0000 
  239.     MOVE.L    8(A6),D0 
  240.     MOVE.L    A6,-(SP) 
  241.     MOVE.L    D1,-(SP) 
  242.     MOVE.L    12(A6),D1 
  243.     MOVE.L    _SoundScapeBase,A6 
  244.     JSR    _LVOsendpackets(A6) 
  245.     MOVE.L    (SP)+,D1 
  246.     MOVE.L    (SP)+,A6 
  247.     UNLK    A6 
  248.     move.l    #__Dorg,a4
  249.     add.l    #32766,a4
  250.     RTS 
  251.  
  252. _OpenLink 
  253.     LINK    A6,#0000 
  254.     MOVE.L    8(A6),D0 
  255.     MOVE.L    A6,-(SP) 
  256.     MOVE.L    D1,-(SP) 
  257.     MOVE.L    12(A6),D1 
  258.     MOVE.L    _SoundScapeBase,A6 
  259.     JSR    _LVOopenlink(A6) 
  260.     MOVE.L    (SP)+,D1 
  261.     MOVE.L    (SP)+,A6 
  262.     UNLK    A6 
  263.     move.l    #__Dorg,a4
  264.     add.l    #32766,a4
  265.     RTS 
  266.  
  267. _CloseLink 
  268.     LINK    A6,#0000 
  269.     MOVE.L    8(A6),D0 
  270.     MOVE.L    A6,-(SP) 
  271.     MOVE.L    D1,-(SP) 
  272.     MOVE.L    12(A6),D1 
  273.     MOVE.L    _SoundScapeBase,A6 
  274.     JSR    _LVOcloselink(A6) 
  275.     MOVE.L    (SP)+,D1 
  276.     MOVE.L    (SP)+,A6 
  277.     UNLK    A6 
  278.     move.l    #__Dorg,a4
  279.     add.l    #32766,a4
  280.     RTS 
  281.  
  282. _GetHelp 
  283.     LINK    A6,#0000 
  284.     MOVE.L    8(A6),D0 
  285.     MOVE.L    A6,-(SP) 
  286.     MOVE.L    _SoundScapeBase,A6 
  287.     JSR    _LVOgethelp(A6) 
  288.     MOVE.L    (SP)+,A6 
  289.     UNLK    A6 
  290.     move.l    #__Dorg,a4
  291.     add.l    #32766,a4
  292.     RTS 
  293.  
  294. _FindMidiPort 
  295.     LINK    A6,#0000 
  296.     MOVE.L    8(A6),D0 
  297.     MOVE.L    A6,-(SP) 
  298.     MOVE.L    _SoundScapeBase,A6 
  299.     JSR    _LVOfindport(A6) 
  300.     MOVE.L    (SP)+,A6 
  301.     UNLK    A6 
  302.     move.l    #__Dorg,a4
  303.     add.l    #32766,a4
  304.     RTS 
  305.      
  306. _MidiPortName 
  307.     LINK    A6,#0000 
  308.     MOVE.L    8(A6),D0 
  309.     MOVE.L    A6,-(SP) 
  310.     MOVE.L    _SoundScapeBase,A6 
  311.     JSR    _LVOportname(A6) 
  312.     MOVE.L    (SP)+,A6 
  313.     UNLK    A6 
  314.     move.l    #__Dorg,a4
  315.     add.l    #32766,a4
  316.     RTS 
  317.  
  318. _RemoveMidiPort 
  319.     LINK    A6,#0000 
  320.     MOVE.L    8(A6),D0 
  321.     MOVE.L    A6,-(SP) 
  322.     MOVE.L    _SoundScapeBase,A6 
  323.     JSR    _LVOremoveport(A6) 
  324.     MOVE.L    (SP)+,A6 
  325.     UNLK    A6 
  326.     move.l    #__Dorg,a4
  327.     add.l    #32766,a4
  328.     RTS 
  329.  
  330. _FunctionCall 
  331.     LINK    A6,#0000 
  332.     MOVEM.L    D1-D7/A6,-(SP) 
  333.     MOVE.L    8(A6),D0 
  334.     MOVE.L    12(A6),D1 
  335.     MOVE.L    16(A6),D2 
  336.     MOVE.L    20(A6),D3 
  337.     MOVE.L    24(A6),D4 
  338.     MOVE.L    28(A6),D5 
  339.     MOVE.L    32(A6),D6 
  340.     MOVE.L    36(A6),D7 
  341.     MOVE.L    _SoundScapeBase,A6 
  342.     JSR    _LVOfunctcall(A6) 
  343.     MOVEM.L    (SP)+,D1-D7/A6 
  344.     UNLK    A6 
  345.     move.l    #__Dorg,a4
  346.     add.l    #32766,a4
  347.     RTS 
  348.  
  349. _ReadFileName 
  350.     LINK    A6,#0000 
  351.     MOVEM.L    D1-D2/A6,-(SP) 
  352.     MOVE.L    8(A6),D0 
  353.     MOVE.L    12(A6),D1 
  354.     MOVE.L    16(A6),D2 
  355.     MOVE.L    _SoundScapeBase,A6 
  356.     JSR    _LVOreadname(A6) 
  357.     MOVEM.L    (SP)+,D1-D2/A6 
  358.     UNLK    A6 
  359.     move.l    #__Dorg,a4
  360.     add.l    #32766,a4
  361.     RTS 
  362.  
  363. _WriteFileName 
  364.     LINK    A6,#0000 
  365.     MOVEM.L    D1-D2/A6,-(SP) 
  366.     MOVE.L    8(A6),D0 
  367.     MOVE.L    12(A6),D1 
  368.     MOVE.L    16(A6),D2 
  369.     MOVE.L    _SoundScapeBase,A6 
  370.     JSR    _LVOwritename(A6) 
  371.     MOVEM.L    (SP)+,D1-D2/A6 
  372.     UNLK    A6 
  373.     move.l    #__Dorg,a4
  374.     add.l    #32766,a4
  375.     RTS 
  376.  
  377.  
  378.     END 
  379.